home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmiSoft / Dev / lang / amigatalk.lha / intuition / Icon.st < prev    next >
Text File  |  2003-11-21  |  8KB  |  270 lines

  1. "------------------------------------------------------------------"
  2. " Icon Class implements control of Amiga Workbench Icons           "
  3. " Chances are that Glyph is the wrong parent class for this class. "
  4. "------------------------------------------------------------------"
  5.  
  6. Class Icon :Glyph ! private iconName !
  7. [
  8.    editToolTypes ! temp !
  9.  
  10.       temp <- <primitive 219 2 iconName>.
  11.       
  12.       (temp ~= true)
  13.          ifTrue: ['ToolTypesEditor NOT found!' print]
  14. |      
  15.    displayIconInfo ! temp !
  16.  
  17.       temp <- <primitive 219 3 private iconName>.
  18.       
  19.       (temp ~= nil)
  20.         ifTrue: ['Method displayIconInfo returned', temp print]
  21. |
  22.    displayIconImages
  23.  
  24.       <primitive 219 4 private iconName>
  25. |
  26.    setIconPosition: newPoint ! nx ny chk !
  27.  
  28.       nx  <- newPoint x.
  29.       ny  <- newPoint y. 
  30.       chk <- <primitive 219 5 private iconName nx ny>.
  31.  
  32.       (chk ~= nil)
  33.          ifTrue: ['Method setIconPosition returned ', chk print]
  34. |
  35.    moveIcon: deltaPoint ! dx dy chk !
  36.  
  37.       dx  <- deltaPoint x.
  38.       dy  <- deltaPoint y. 
  39.       chk <- <primitive 219 6 private iconName dx dy>.
  40.  
  41.       (chk ~= nil)
  42.          ifTrue: ['Method moveIcon returned ', chk print]
  43. |
  44.    editIcon: externalEditorName
  45.  
  46.       (<primitive 219 7 iconName externalEditorName> ~= true)
  47.          ifTrue: ['Method editIcon: ',externalEditorName, 'did NOT run!' print]
  48. |
  49.    addToolType: toolString
  50.  
  51.       (<primitive 219 8 private iconName toolString> == false)
  52.         ifTrue: ['ToolType ', toolString, 'NOT added!' print]
  53. |
  54.    deleteToolType: toolString
  55.  
  56.       (<primitive 219 9 private iconName toolString> == false)
  57.         ifTrue: ['ToolType ', toolString, 'NOT deleted!' print]
  58. |
  59.    getIconWidth
  60.       ^ <primitive 219 10 private>
  61. |
  62.    getIconHeight
  63.       ^ <primitive 219 11 private>
  64. |
  65.    getIconFlags
  66.       ^ <primitive 219 12 private>
  67. |
  68.    getIconImageObject
  69.       ^ <primitive 219 13 private>
  70. |
  71.    getIconAlternateImageObject
  72.       ^ <primitive 219 14 private>
  73. |
  74.    getIconType
  75.       "  Valid types are:
  76.  
  77.          WBDISK     = 1
  78.          WBDRAWER   = 2
  79.          WBTOOL     = 3
  80.          WBPROJECT  = 4
  81.          WBGARBAGE  = 5
  82.          WBDEVICE   = 6
  83.          WBKICK     = 7
  84.          WBAPPICON  = 8
  85.       "
  86.       ^ <primitive 219 15 private>
  87. |
  88.    getDefaultIcon: iconType
  89.       ^ <primitive 219 36 iconType>  " See getIconType comments for iconType "
  90. |
  91.    newDiskObject: iconType
  92.       ^ <primitive 219 41 iconType>  " See getIconType comments for iconType "
  93. |
  94.    getNewDiskObject: iconName
  95.       ^ <primitive 219 38 iconName>
  96. |
  97.    getDefaultTool
  98.       ^ <primitive 219 16 private>
  99. |
  100.    getStackSize
  101.       ^ <primitive 219 17 private>
  102. |
  103.    getWindowWidth
  104.       ^ <primitive 219 18 private>
  105. |
  106.    getWindowHeight
  107.       ^ <primitive 219 19 private>
  108. |
  109.    getWindowTopEdge
  110.       ^ <primitive 219 20 private>
  111. |
  112.    getWindowLeftEdge
  113.       ^ <primitive 219 21 private>
  114. |
  115.    getIconBounds: diskObj   for: rectObj from: windowObj label: labelStr tags: tagArray
  116.       " labelStr can be nil for this method "
  117.       ^ <primitive 219 48 windowObj diskObj labelStr rectObj tagArray>
  118. |
  119.    setIconWidth: newWidth
  120.       (<primitive 219 22 private iconName newWidth> ~= true)
  121.          ifTrue: ['Method setIconWidth: ', newWidth, ' failed!' print]
  122. |
  123.    setIconHeight: newHeight
  124.       (<primitive 219 23 private iconName newHeight> ~= true)
  125.          ifTrue: ['Method setIconHeight: ', newHeight, ' failed!' print]
  126. |
  127.    setIconFlags: newFlags
  128.       (<primitive 219 24 private iconName newFlags> ~= true)
  129.          ifTrue: ['Method setIconFlags: ', newFlags, ' failed!' print]
  130. |
  131.    setIconImage: imageObject
  132.       (<primitive 219 25 private iconName imageObject> ~= true)
  133.          ifTrue: ['Method setIconImage: failed!' print]
  134. |
  135.    setIconAlternateImage: imageObject
  136.       (<primitive 219 26 private iconName imageObject> ~= true)
  137.          ifTrue: ['Method setIconAlternateImage: failed!' print]
  138. |
  139.    setIconType: newType
  140.       "  Valid types are:
  141.  
  142.          WBDISK     = 1
  143.          WBDRAWER   = 2
  144.          WBTOOL     = 3
  145.          WBPROJECT  = 4
  146.          WBGARBAGE  = 5
  147.          WBDEVICE   = 6
  148.          WBKICK     = 7
  149.          WBAPPICON  = 8
  150.       "
  151.       (<primitive 219 27 private iconName newType> ~= true)
  152.          ifTrue: ['Method setIconType: ', newType, ' failed!' print]
  153. |
  154.    setDefaultTool: newDefaultTool
  155.       (<primitive 219 28 private iconName newDefaultTool> ~= true)
  156.          ifTrue: ['Method setDefaultTool: ', newDefaultTool, ' failed!' print]
  157. |
  158.    setStackSize: newStackSize
  159.       (<primitive 219 29 private iconName newStackSize> ~= true)
  160.          ifTrue: ['Method setStackSize: ', newStackSize, ' failed!' print]
  161. |
  162.    setWindowWidth: newWidth
  163.       (<primitive 219 30 private iconName newWidth> ~= true)
  164.          ifTrue: ['Method setWindowWidth: ', newWidth, ' failed!' print]
  165. |
  166.    setWindowHeight: newHeight
  167.       (<primitive 219 31 private iconName newHeight> ~= true)
  168.          ifTrue: ['Method setWindowHeight: ', newHeight, ' failed!' print]
  169. |
  170.    setWindowTopEdge: newTopEdge
  171.       (<primitive 219 32 private iconName newTopEdge> ~= true)
  172.          ifTrue: ['Method setWindowTopEdge: ', newTopEdge, ' failed!' print]
  173. |
  174.    setWindowLeftEdge: newLeftEdge
  175.       (<primitive 219 33 private iconName newLeftEdge> ~= true)
  176.          ifTrue: ['Method setWindowLeftEdge: ', newLeftEdge, ' failed!' print]
  177. |
  178.    readInAsciiImage: fileName
  179.       (<primitive 219 34 private iconName fileName> ~= true)
  180.          ifTrue: ['Method readInAsciiImage: ', fileName, ' failed!' print]
  181. |
  182.    writeAsciiImage: fileName
  183.       (<primitive 219 35 private fileName> ~= true)
  184.          ifTrue: ['Method writeAsciiImage: ', fileName, ' failed!' print]
  185. |
  186.    iconControl: diskObject tags: tagArray
  187.       ^ <primitive 219 42 diskObject tagArray> " diskObject can be nil "
  188. |
  189.    findToolType: toolName in: diskObj
  190.       ^ <primitive 219 45 diskObj toolName>
  191. |
  192.    matchTool: toolTypeString to: toolValueStr
  193.       ^ <primitive 219 46 toolTypeString toolValueStr>
  194. |
  195.    storeDefaultIcon: diskObject
  196.       ^ <primitive 219 37 diskObject>
  197. |
  198.    duplicateDiskObject: diskObject tags: tagArray
  199.       ^ <primitive 219 40 diskObject tagArray>
  200. |
  201.    drawIcon: diskObj on: windowObj label: labelStr at: sPoint inState: whichState 
  202.                                                                  tags: tagArray
  203.    ! xOffset yOffset !
  204.  
  205.    " labelStr can be nil for this method "
  206.  
  207.       xOffset <- sPoint x.
  208.       yOffset <- sPoint y.
  209.       
  210.       <primitive 219 43 windowObj diskObj labelStr xOffset yOffset whichState tagArray>
  211. |
  212.    layoutIcon: diskObj on: screenObj tags: tagArray
  213.  
  214.       ^ <primitive 219 44 diskObj screenObj tagArray>  " screenObj can be nil "
  215. |
  216.    bumpRevision: oldName to: newName
  217.  
  218.       " newName HAS to be a String object of at least 31 characters in length 
  219.       * Just create it with:  newName <- String new: 32
  220.       "
  221.       ^ <primitive 219 47 newName oldName>
  222. |
  223.    changeColorToSelectedIconColor: colorRegisterObj
  224.  
  225.       " See icon.library docs for ChangeToSelectedIconColor() function "
  226.       <primitive 219 53 colorRegisterObj>
  227. |
  228.    disposeFreeList: freeListObj
  229.  
  230.       <primitive 219 51 freeListObj>.
  231.       
  232.       <primitive 250 5 0 freeListObj>.
  233.       
  234.       ^ nil
  235. |
  236.    add: memoryObj toFreeList: freeListObj size: size
  237.  
  238.       ^ <primitive 219 52 freeListObj memoryObj size>
  239. |
  240.    deleteDiskObject: iconName
  241.  
  242.       ^ <primitive 219 39 iconName>
  243. |
  244.    closeIcon ! chk !
  245.  
  246.       chk <- <primitive 219 0 private iconName>.
  247.  
  248.       (chk ~= nil)
  249.         ifTrue: ['Icon Object was NOT written out!' print]
  250. |
  251.    storeIcon: diskObj named: iconName tags: tagArray
  252.  
  253.       ^ <primitive 219 50 iconName diskObj tagArray>
  254. |
  255.    openIcon: iconFileName
  256.  
  257.       iconName <- iconFileName.
  258.  
  259.       ^ private  <- <primitive 219 1 iconFileName>.
  260. |
  261.    getIcon: iconName tags: tagArray
  262.  
  263.       " iconName can be nil for this method "
  264.       ^ private <- <primitive 219 49 iconName tagArray>  
  265. |
  266.    new: iconFileName
  267.  
  268.       ^ (self openIcon: iconFileName) 
  269. ]
  270.